package com.koron.css2.projectCenter.mapper;

import com.koron.css2.projectCenter.bean.PjConsultBean;
import com.koron.css2.projectCenter.bean.PjMeterBean;
import com.koron.css2.projectCenter.bean.query.PjConsultQueryBean;
import com.koron.css2.projectCenter.vo.PjConsultListVO;
import com.koron.css2.projectCenter.vo.PjMeterVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PjConsultMapper {

	/**
	 * 根据ID查询用水咨询
	 * @param bean
	 * @return
	 */
	PjConsultBean selectById(@Param("id") String id);

	/**
	 * 查询用水咨询列表
	 * @param bean
	 * @return
	 */
	List<PjConsultListVO> list(PjConsultQueryBean bean);

	/**
	 * 修改紧急程度
	 * @param bean
	 * @return
	 */ 
	Integer urgentFlagUpdate(PjConsultBean pjConsultBean);

	/**
	 * 添加登记
	 * @param bean
	 * @return
	 */
	Integer addRegister(PjConsultBean pjConsultBean);

	/**
	 * 修改登记
	 * @param bean
	 * @return
	 */
	Integer updateRegister(PjConsultBean pjConsultBean);

	/**
	 * 修改勘察
	 * @param bean
	 * @return
	 */
	Integer updateSurvey(PjConsultBean pjConsultBean);

	/**
	 * 修改设计
	 * @param bean
	 * @return
	 */
	Integer updateDesign(PjConsultBean pjConsultBean);

	/**
	 * 修改预算
	 * @param bean
	 * @return
	 */
	Integer updateBudget(PjConsultBean pjConsultBean);

	/**
	 * 查询用水咨询多水表列表
	 * @param bean
	 * @return
	 */
	List<PjMeterVO> meterList(@Param("consultId") String consultId);

	/**
	 * 删除多水表关联关系
	 * @param consultId
	 * @return
	 */
	Integer delMeter(@Param("consultId") String consultId);

	/**
	 * 添加多水表关联关系
	 * @param bean
	 * @return
	 */
	Integer addMeter(PjMeterBean bean);
	
	/**
	 * 更新装表数量
	 * @param consultId
	 * @param num
	 * @return
	 */
	Integer updateInstallAmount(@Param("id") String id, @Param("installAmount") int installAmount);
	/**
	 * 删除单据
	 * @param id
	 * @return
	 */
	Integer delete(@Param("id")String id);
	/**
	 * 更新收款信息
	 */
	Integer saveCharge(PjConsultBean pjConsultBean);
	/**
	 * 更新审核流程状态
	 */
	Integer updateProcess(@Param("id")String id,@Param("status")String status);
}
